function filtereddata=gpsdatafilter(origindata)
    if isempty(origindata)
        filtereddata = [];
        return
    end
    assert(size(origindata,2)==3);
    gpsagentecef= lla2ecef(origindata);
    while(true)
        gpsagentmean = mean(gpsagentecef,1);
        tmpdata = gpsagentecef-repmat(gpsagentmean,size(gpsagentecef,1),1);
        distance=sqrt( sum(tmpdata.^2,2));
        [val,ind]= max(distance);
        if(val>10)
            index = 1:size(gpsagentecef,1);
            index = index(index~=ind);
            gpsagentecef =gpsagentecef(index,:) ;
        else
            break;
        end
    end
    filtereddata = gpsagentecef;